package cn.edu.zju.gis.disasterBE.sever.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
@TableName("image_info")
@ApiModel("遥感影像表")
public class Image implements Entity<String>{
    @TableId(value = "mid", type = IdType.AUTO)
    @ApiModelProperty(value = "影像id")
    private String mid;

    @TableField(value = "title")
    @ApiModelProperty(value = "影像标题")
    @JSONField(name = "title")
    private String title;

    @TableField(value = "platformName")
    @ApiModelProperty(value = "获取平台")
    @JSONField(name = "platformName")
    private String platformName;

    @TableField(value = "productType")
    @ApiModelProperty(value = "产品类型")
    @JSONField(name = "productType")
    private String productType;

    @TableField(value = "date")
    @ApiModelProperty(value = "时间")
    @JSONField(name = "date")
    private String date;

    @TableField(value = "resolution")
    @ApiModelProperty(value = "分辨率")
    @JSONField(name = "resolution")
    private Integer resolution;

    @TableField(value = "cloudCover")
    @ApiModelProperty(value = "云覆盖量")
    @JSONField(name = "cloudCover")
    private double cloudCover;

    @TableField(value = "footprint")
    @ApiModelProperty(value = "包围盒")
    @JSONField(name = "footprint")
    private String footprint;

    @TableField(value = "instrument")
    @ApiModelProperty(value = "传感器")
    @JSONField(name = "instrument")
    private String instrument;

    @TableField(value = "orbitNumber")
    @ApiModelProperty(value = "轨道数")
    @JSONField(name = "orbitNumber")
    private Integer orbitNumber;

    @TableField(value = "did")
    @ApiModelProperty(value = "灾害ID")
    @JSONField(name = "did")
    private Integer did;

    @TableField(value = "filename")
    @ApiModelProperty(value = "文件名")
    @JSONField(name = "filename")
    private String filename;

    @TableField(value = "geoJson")
    @ApiModelProperty(value = "包围盒Json")
    @JSONField(name = "geoJson")
    private String geoJson;

    @TableField(value = "downloadState")
    @ApiModelProperty(value = "影像下载状态")
    @JSONField(name = "downloadState")
    private String downloadState;

    @Override
    public String id()
    {
        return mid;
    }
}
